Discharge Function

private function Discharge(y, B0, alpha, slope, n) result(Q)

returns the normal discharge (m3/s) with Chezy equation.

Reference:

Todini, E. (2007) A mass conservative and water storage consistent variable parameter Muskingum-Cunge approach, Hydrol. Earth Syst. Sci.,1645-1659.

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: y

water stage (m)

real(kind=float), intent(in) :: B0

bottom width, = 0 for triangular section(m)

real(kind=float), intent(in) :: alpha

angle formed by dykes over a horizontal plane (deg)

real(kind=float), intent(in) :: slope

bed slope (m/m)

real(kind=float), intent(in) :: n

manning riughness coefficient (s m^(-1/3))

Return Value real(kind=float)


Source Code

FUNCTION Discharge &
( y, B0, alpha, slope, n ) &
RESULT (Q)


IMPLICIT NONE

! Function arguments
! Scalar arguments with intent(in):
REAL (KIND = float), INTENT (IN) :: y !!water stage (m)
REAL (KIND = float), INTENT (IN) :: B0 !!bottom width, = 0 for  triangular  section(m)
REAL (KIND = float), INTENT (IN) :: alpha !!angle formed by dykes over a horizontal plane (deg)
REAL (KIND = float), INTENT (IN) :: slope !!bed slope (m/m)
REAL (KIND = float), INTENT (IN) :: n !!manning riughness coefficient (s m^(-1/3))

! Scalar arguments with intent(OUT):
REAL (KIND = float) :: Q

!------------end of declaration------------------------------------------------


Q = slope**0.5 / n * &
    WettedArea ( y, B0, alpha )**(5./3.) / WettedPerimeter ( y, B0, alpha )**(2./3.)

RETURN
END FUNCTION Discharge